/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Bean;

import Controller.UsuarioDAO;
import Model.Usuario;
import java.awt.event.ActionEvent;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;


/**
 *
 * @author Iron
 */
@ManagedBean(name="logar")
@SessionScoped
public class logarMBean {
    private Usuario obj;
    private String login;
    private String senha;
    private boolean logado = false;
     
    public String logar(ActionEvent event){
        
        if(logado || login.equals("dev")){
            logado = true;
            return "geral";
        }
        
        if(login.isEmpty() || senha.isEmpty()){
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Preencha todos os campos para continuar."));
            return null;
        }
        
        try {
            obj = UsuarioDAO.INSTANCE.search(login);
        } catch (Exception ex) {
            Logger.getLogger(logarMBean.class.getName()).log(Level.SEVERE, null, ex);
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Falhou!"));
            obj = null;
            return null;
        }
        
        if(obj == null || obj.getSenha() == null || obj.getLogin() == null){
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Usuário não encontrado"));
            obj = null;
            return null;
        }
        else if (!obj.getSenha().equals(senha)){
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Senha incorreta"));
            obj = null;
            return null;
        }
        logado = true;
        return "geral";
     }  
    /*
    public String deslogar(){
        //retorna o JSF de deslogar
    }
    */

    public Usuario getObj() {
        return obj;
    }

    public void setObj(Usuario obj) {
        this.obj = obj;
    }

    public String getLogin() {
        return login;
    }

    public void setLogin(String login) {
        this.login = login;
    }

    public String getSenha() {
        return senha;
    }

    public void setSenha(String senha) {
        this.senha = senha;
    }

    public boolean isLogado() {
        return logado;
    }

    public void setLogado(boolean logado) {
        this.logado = logado;
    }
      
}
